System and method for a user interface to manage the recording, downloading and sharing of content from multiple sources

ABSTRACT

A system and method for a user interface to manage the recording, downloading and sharing of content from multiple sources are described. Various embodiments allow requesting content from a service provider by a user and receiving a user interface from the service provider, where the user interface indicates the availability of the content via multiple sources, and where the multiple sources include an Internet Protocol (IP) network, a broadcast service and a peer-to-peer network. Other embodiments are described and claimed.

BACKGROUND

The importance for a content service provider (e.g., a televisionservice provider) to continuously strive to provide an increased varietyof content and options to its subscribers cannot be overstated. No doubtthis is one of the reasons why television service providers providedifferent types of services to their subscribers including on-demandpay-per-view programming, a variety of subscription options forbroadcasted programs, subscriber-defined controls such as parentalcontrols and cable modem Internet access.

But still, there are limitations to some of these types of servicesprovided via the content service provider. For example, with on-demandpay-per-view programming a subscriber can request that a program bedisplayed on his or her television. But, the subscriber is limited toselecting a program that the television service provider has stored onone or more centralized servers. The number of programs that theprovider can store on the centralized server(s) is limited by storagespace on the server(s) and the bandwidth required to satisfy all of therequests from its subscribers. Regarding broadcasted programs that areincluded in a subscription with the television service provider, if thesubscriber cannot watch a particular program and forgets to record it ordid not realize that a program was broadcasted until after the fact,then the subscriber has to wait until the program is broadcasted againin order to view the program.

As discussed above, if a subscriber knows of a particular program thatwill be broadcasted, then the subscriber can record the program via apersonal video recorder (PVR). PVR's allow a user to record abroadcasted program and/or content received from the content serviceprovider for later viewing. Unfortunately, the programs recorded on aPVR can only be viewed locally where the PVR is physically located.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates one embodiment of a system.

FIG. 2 illustrates one embodiment of a system.

FIG. 3 illustrates one embodiment of a logic flow.

FIG. 4 illustrates one embodiment of a logic flow.

FIG. 5 illustrates one embodiment of a system.

FIG. 6 illustrates one embodiment of a device.

DETAILED DESCRIPTION

Various embodiments may be generally directed to a system and method fora user interface to manage the recording, downloading and sharing ofcontent from multiple sources. In embodiments, a service provider hostsa centralized server that stores information about each of itsubscribers (or users) and available content for each of its subscribersto download on demand, record via broadcast and/or share with othersubscribers. The service provider compiles a user interface or guidethat is provided to a subscriber that informs the subscriber of contentthat is available via multiple sources. The multiple sources may includecontent available via an Internet Protocol (IP) network, via broadcastservices, via a peer-to-peer (P2P) network, and so forth.

In embodiments, the service provider corresponds with the peer-to-peernetwork where each of its subscribers agrees to provide content that heor she has stored locally. When a subscriber logs into or connects withthe service provider, the subscriber informs the service provider aboutthe different content he or she has stored. Thus, the service providerknows at all times what content is currently available for any of itssubscribers to download via the peer-to-peer network. Yet, the serviceprovider only keeps some sort of listing of the content and not thecontent itself. Therefore, the disk storage limitation and bandwidthproblems as described above are avoided.

In embodiments, the service provider works with one or more broadcastservices (cable, satellite, etc.) to receive schedules of upcomingbroadcast content. The service provider keeps a record of the types ofsubscriptions (if any) each of its subscribers has with the broadcastservices. The service provider also keeps a record of subscriber-definedcontrols (e.g., parental controls) related to the applicable broadcastservices. Thus, the service provider knows what and when broadcastcontent is available to its subscribers for recording via the broadcastservices.

In embodiments, the service provider stores/maintains content on one ormore servers. Subscribers may download this content via an InternetProtocol (IP) connection or network, for example. The service provideralso keeps a record of the types of subscriptions and relatedsubscriber-define controls each of its subscribers has with the serviceprovider. In embodiments, the service provider may store contentpreviously broadcasted by the broadcast services.

The distribution of the requested content is controlled because theservice provider hosts the centralized server where subscriberinformation is stored, the service provider knows which content isincluded in a particular subscription with the service provider andother broadcast services and knows of subscriber-defined controls (e.g.,parental controls) set up by the subscriber. Therefore, the serviceprovider, prior to allowing requested content to be distributed to thesubscriber, can determine whether the subscriber has access rights tothe requested content and whether the subscriber-defined controls allowfor the content to be viewed. In embodiments, the content may alsoinclude content available via free television or free web content, forexample.

In embodiments, the service provider provides a user interface or guideto the subscriber of all of the possible sources (e.g., IP network,broadcast services, peer-to-peer network, etc.) for the requestedcontent. The service provider may also provide an indication to thesubscriber of the best likely source for the subscriber to obtain therequested content. Other embodiments may be described and claimed.

Various embodiments may comprise one or more elements. An element maycomprise any structure arranged to perform certain operations. Eachelement may be implemented as hardware, software, or any combinationthereof, as desired for a given set of design parameters or performanceconstraints. Although an embodiment may be described with a limitednumber of elements in a certain topology by way of example, theembodiment may include more or less elements in alternate topologies asdesired for a given implementation. It is worthy to note that anyreference to “one embodiment” or “an embodiment” means that a particularfeature, structure, or characteristic described in connection with theembodiment is included in at least one embodiment. The appearances ofthe phrase “in one embodiment” in various places in the specificationare not necessarily all referring to the same embodiment.

FIG. 1 illustrates an embodiment of a system 100. Referring to FIG. 1,system 100 may comprise a service provider 102, one or more contentservers 104, one or more broadcast services 106, an IP network 108, asubscriber environment 110, a subscriber environment 112 and apeer-to-peer network 126. Each of these elements is described next inmore detail.

For illustrations purposes only, embodiments of the present inventionmay be described herein in terms of the service provider being atelevision service provider and users being subscribers of the serviceprovider. It is important to note that embodiments of the presentinvention are not limited to facilitating television service providersin the controlled distribution of content. For example, the serviceprovider may also be a music service provider, a photograph serviceprovider, or any company that wants to distribute controlled content. Inanother embodiment of the invention, the service provider describedherein may be generic in the sense that no particular service providerhosts the one or more servers. Here, multiple service providers providethe necessary information to the generic server for the server toprovide each of their subscriber's with controlled distribution ofcontent. In other embodiments, the necessary information for thecontrolled distribution of content may be distributed among multipledevices such as televisions, personal computers, any mobile orultra-mobile electronic device, and so forth. Furthermore, a subscribermay be any user of embodiments of the invention.

In embodiments, content may be any type of data. In various embodiments,the content may be media information. Examples of media information maygenerally include any data or signals representing information meant fora user, such as media information, voice information, video information,audio information, image information, textual information, numericalinformation, alphanumeric symbols, graphics, and so forth. Theembodiments are not limited in this context.

In embodiments, service provider 102 may store information about each ofits subscribers and available content stored on content servers 104.This content may be downloaded or pushed to subscribers via IP network108. Service provider 102 may also store information about availablecontent for subscribers to download from other subscribers viapeer-to-peer network 126. Service provider 102 may also storeinformation about content to be broadcast via broadcast services 106 andthus recordable by subscribers. In embodiments, content servers 104 maystore content that was previously broadcasted by broadcast services 106.

In embodiments, when service provider 102 receives a request forspecific content from a subscriber or a request from a subscriber toshare content with a second subscriber, provider 102 may generate a userinterface or guide that indicates all of the possible sources of therequested content (e.g., via IP network 108, via broadcast services 106,via peer-to-peer network 126, and so forth). Service provider 102 mayalso indicate in the user interface the likely best source to obtain therequested content. The distribution of the content is controlled byservice provider 102, as described above.

Service provider 102 may communicate with subscriber environments 110and 112 via IP network 108. IP network 108 may be a high speed networkor any other type of network suited for the particular application.Other types of networks may be added or substituted as new types ofnetworks are developed.

In embodiments, subscriber environments 110 and 112 each include aconnected device 114 and 120, respectively. Connected devices 114 and120 are each owned, borrowed or licensed by their respective user.Connected devices 114 and 120 are connected to IP network 108 and maycommunicate with service provider 102 via their unique IP address, forexample. In embodiments, connected devices 114 and 120 are connected topeer-to-peer network 126 and thus may communicate with each other vianetwork 126 or network 108. Peer-to-peer network 126 allows content tobe shared among subscribers (or connected devices). In embodiments, theterm “subscriber” as it is used herein may be referring to a device(e.g., connected device 114 or 120 in FIG. 1). In other embodiments, theterm “subscriber” as it is used herein may be referring to the user of adevice (e.g., connected device 114 or 120 in FIG. 1).

In embodiments, connected devices 114 and 120 each represent a devicethat includes not only personal video recorder (PVR) functionality butis also modified to act as a server in peer-to-peer network 126. PVRfunctionality records television data (i.e., requested content) indigital format (e.g., MPEG-1 or MPEG-2 formats) and stores the data in ahard drive or on a server, for example. The data may also be stored in adistributed manner such as on one or more connected devices throughout ahome or office environment. In the case of digital media streams, thePVR functionality routes the previously encoded digital media stream tolocal storage. PVR functionality of devices 114 and 120 may allowencoding of other types of data and other types of data may be added orsubstituted for those described as new types of data are developed.

Subscriber environment 110 may also include a display device 116 and auser input device 118. Likewise, subscriber environment 112 may includea display device 122 and a user input device 124.

Display devices 116 and 122 may each be a monitor, projector, aconventional analog television receiver, or any other kind ofperceivable video display. The audio portion of the output of theconnected devices may be routed through an amplifier, such as anaudio/video (A/V) receiver or a sound processing engine, to headphones,speakers or any other type of sound generation device.

User input devices 118 and 124 may be any type of input device suitedfor a subscriber to communicate with connected devices 114 and 120,respectively.

Although only two subscriber environments are illustrated in FIG. 1,this is not meant to limit the invention. In fact, system 100 mayinclude any number of subscriber environments.

In various embodiments, system 100 may be implemented as a wirelesssystem, a wired system, or a combination of both. When implemented as awireless system, system 100 may include components and interfacessuitable for communicating over a wireless shared media, such as one ormore antennas, transmitters, receivers, transceivers, amplifiers,filters, control logic, and so forth. An example of wireless sharedmedia may include portions of a wireless spectrum, such as the RFspectrum and so forth. When implemented as a wired system, system 100may include components and interfaces suitable for communicating overwired communications media, such as input/output (I/O) adapters,physical connectors to connect the I/O adapter with a correspondingwired communications medium, a network interface card (NIC), disccontroller, video controller, audio controller, and so forth. Examplesof wired communications media may include a wire, cable, metal leads,printed circuit board (PCB), backplane, switch fabric, semiconductormaterial, twisted-pair wire, co-axial cable, fiber optics, and so forth.

FIG. 2 illustrates one embodiment of the types of subscriber informationservice provider 102 may utilize in providing requested content to itssubscribers via a user interface as described herein. As shown in FIG. 2and in an embodiment, service provider 102 may include subscribersubscription information 202 and currently connected subscriberinformation 204. Subscription information 202 may include, but is notnecessarily limited to, subscription information, subscriber-definedcontrols (e.g., parental controls), the network address associated witheach subscriber, and so forth. Currently connected subscriberinformation 204 may include, but is not necessarily limited to, alisting of which subscribers are currently logged into service provider102 and a listing of the content stored on each of the subscribers.

Operations for the embodiments described herein may be further describedwith reference to the following figures and accompanying examples. Someof the figures may include a logic flow. Although such figures presentedherein may include a particular logic flow, it can be appreciated thatthe logic flow merely provides an example of how the generalfunctionality as described herein can be implemented. Further, the givenlogic flow does not necessarily have to be executed in the orderpresented unless otherwise indicated. In addition, the given logic flowmay be implemented by a hardware element, a software element executed bya processor, or any combination thereof. The embodiments, however, arenot limited to the elements or in the context shown or described in thefigures.

FIG. 3 illustrates one embodiment of a logic flow 300. As shown in logicflow 300, a subscriber logs into a service provider (such as serviceprovider 102 from FIG. 1) (block 302). The subscriber informs theservice provider of the pieces of content it has stored and thusavailable to other subscribers (block 304).

The subscriber sends a request to the service provider for specificcontent (block 306). The service provider determines whether thesubscriber has access rights to the content (block 308). For example,the service provider might determine that the subscriber already hasaccess rights to the requested content (e.g., the requested content isincluded in the subscriber's service agreement with the service provideror the broadcast services). Alternatively, if the subscriber does nothave access rights to the requested content, then the service providermight determine whether the requested content is a pay-per-view program.If so, then the subscriber is charged for the requested content prior tohaving access rights. The example is provided for illustration purposesonly and is not meant to limit embodiments of the invention.

If the subscriber does not have access rights to the content, then theservice provider denies the subscriber's request (block 310). Theservice provider determines whether the subscriber's parental controlsallow the viewing of the content (block 312). If not, then the serviceprovider denies the subscriber's request (block 310).

If the subscriber has access rights to the content and its parentalcontrols allow the viewing of the content, then the service providerdetermines whether the content is available via one or more sources(block 314). In embodiments, the one or more sources may include via anIP network, via broadcast services and via a peer-to-peer network (suchas IP network 108, broadcast services 106 and peer-to-peer network 126as described above with reference to FIG. 1).

If the content is not available, then the service provider informs thesubscriber that the content is not currently available (block 316). Inembodiments, the service provider may inform the subscriber when thecontent becomes available in the future.

If the content is available, then the service provider may try todetermine the best source from which to download or record the content(block 318). For example, assume that the service provider determinedthat the content is available via the IP network and the serviceprovider itself, via a broadcast service and via the peer-to-peernetwork. Assume that the content may be scheduled to be broadcasted thenext day, but this may not be the best source if the subscriber wantsthe content now. Further assume that the service provider has thecontent stored on its server but is experiencing an unusually highvolume of requests. Here, the availability of the content for thesubscriber to download will be delayed. Further assume that the serviceprovider determines that a second subscriber in the peer-to-peer networkis currently logged in and has the content available immediately fordownload. Hence, in this example, the service provider might determinethat the second subscriber via the peer-to-peer network is the bestsource for the content if the subscriber wants the content as soon aspossible. This example is provided for illustration purposes only and isnot meant to limit the invention.

The service provider then compiles a user interface or guide for thesubscriber that includes a link or trigger for each of the availablesources and an indication of when the content will be available to thesubscriber. The service provider may also provide an indication in theuser interface of the likely best source for the content (block 320).The user interface is then forwarded to the subscriber (block 322).

When the subscriber interacts with the user interface to select a sourcefor the content, the subscriber is allowed to download or record thecontent when it is available (block 324). In embodiments, the selectionof a source via the user interface may be accomplished via a mouse,pointing device, remote control, etc. These examples are provided forillustration purposes only and are not meant to limit the invention.

The functionality for the subscriber to obtain the content might be viaa local module (software and/or hardware) stored by the subscriber(e.g., stored in connected device 114, for example), it might be via amodule (software and/or hardware) stored by the service provider, or itmay be some combination of both. For example, if the subscriberactivates the link or trigger to download the content via the secondsubscriber and the peer-to-peer network, then in order to facilitate thedownload of the requested program the service provider may implement avariety of data flow connections. For example, the service provider maysend a command to the second subscriber (e.g., to connected device 120,for example) to download the content to the requesting subscriber.Alternatively, the service provider may send a uniform resource locator(URL) to the requesting subscriber to access the content on the secondsubscriber.

In a similar manner, if the subscriber activates the link or trigger toobtain the content via the service provider itself, then the serviceprovider may either push the content to the subscriber when it isavailable or the subscriber may be provided with a URL that may be usedto access and download the content.

If the subscriber activates the link or trigger to obtain the contentvia a broadcast service, then the subscriber may be automaticallyscheduled to record the broadcast of the content. These examples are notmeant to limit the invention.

In embodiments, the interaction with the user interface is much likethat of a PVR device. Except here the content may be available to thesubscriber from a number of different sources and is not limited to therecording of broadcast content. In embodiments, the subscriber mightrequest the content from all available sources (e.g., activate allavailable sources on the user interface). When the content is deliveredvia one of the sources, the requests to obtain the content from theremaining sources are automatically deactivated. In other embodiments,if the subscriber requests to obtain the content from one source and forsome reason that request cannot be activated or completed, analternative source for the content may be automatically activated.

FIG. 4 illustrates one embodiment of a logic flow 400. As shown in logicflow 400, a subscriber logs into the service provider (block 402). Thesubscriber informs the service provider of the pieces of content it hasstored and thus available to other subscribers (block 404).

The subscriber sends a request to the service provider to share specificcontent it has with a second subscriber (block 406). The serviceprovider determines whether the second subscriber has access rights tothe content (block 408). The operation of block 408 may be similar toblock 308 as described above.

If the second subscriber does not have access rights to the content,then the service provider informs the subscriber that the secondsubscriber does not have access to the content (block 410). Otherwise,the service provider determines whether the second subscriber's parentalcontrols allow the viewing of the content (block 412). If not, then theservice provider denies the subscriber's request (block 410).

If the second subscriber has access rights to the content and itsparental controls allow the viewing of the content, the service providerinforms the subscriber that the content will be made available to thesecond subscriber (block 414).

The service provider determines whether the content is available viaanother source other than the requesting subscriber and the peer-to-peernetwork (block 416). The operation of block 416 may be similar to block314 as described above.

If the content is available via multiple sources, then the serviceprovider may try to determine the best source from which to download orrecord the content (block 418). The operation of block 418 may besimilar to block 318 as described above.

The service provider then compiles a user interface or guide for thesecond subscriber that includes a link or trigger for each of theavailable sources and an indication of when the content will beavailable. The service provider may also provide an indication in theuser interface of the likely best source for the content, if applicable(block 420). The user interface is then forwarded to the secondsubscriber (block 422).

When the second subscriber interacts with user interface to select asource for the content, the second subscriber is allowed to download orrecord the content when it is available (block 424). The operation ofblock 424 may be similar to block 324 as described above.

FIG. 5 illustrates an embodiment of a platform 502 (e.g., connecteddevices 114 or 120 from FIG. 1). In one embodiment, platform 502 maycomprise or may be implemented as a media platform 502 such as the Viiv™media platform made by Intel® Corporation. In one embodiment, platform502 may interact with the service provider (such as service provider 102and content servers 104 via IP network 108 from FIG. 1) and with othersubscriber environments (such as subscriber environments 110 or 112 viapeer-to-peer network 126 from FIG. 1).

In one embodiment, platform 502 may comprise a CPU 512, a chip set 513,one or more drivers 514, one or more network connections 515, anoperating system 516, and/or one or more media center applications 517comprising one or more software applications, for example. Platform 502also may comprise storage 518.

In one embodiment, CPU 512 may comprise one or more processors such asdual-core processors. Examples of dual-core processors include thePentium® D processor and the Pentium® processor Extreme Edition bothmade by Intel® Corporation, which may be referred to as the Intel CoreDuo® processors, for example.

In one embodiment, chip set 513 may comprise any one of or all of theIntel® 945 Express Chipset family, the Intel® 955X Express Chipset,Intel® 975X Express Chipset family, plus ICH7-DH or ICH7-MDH controllerhubs, which all are made by Intel® Corporation.

In one embodiment, drivers 514 may comprise the Quick Resume TechnologyDrivers made by Intel® to enable users to instantly turn on and offplatform 502 like a television with the touch of a button after initialboot-up, when enabled, for example. In addition, chip set 513 maycomprise hardware and/or software support for 5.1 surround sound audioand/or high definition 7.1 surround sound audio, for example. Drivers514 may include a graphics driver for integrated graphics platforms. Inone embodiment, the graphics driver may comprise a peripheral componentinterconnect (PCI) Express graphics card.

In one embodiment, network connections 515 may comprise the PRO/1000 PMor PRO/100 VE/VM network connection, both made by Intel® Corporation.

In one embodiment, operating system 516 may comprise the Windows® XPMedia Center made by Microsoft® Corporation. In other embodiments,operating system 516 may comprise Linux®, as well as other types ofoperating systems. In one embodiment, one or more media centerapplications 517 may comprise a media shell to enable users to interactwith a remote control from a distance of about 10-feet away fromplatform 502 or a display device, for example. In one embodiment, themedia shell may be referred to as a “10-feet user interface,” forexample. In addition, one or more media center applications 517 maycomprise the Quick Resume Technology made by Intel®, which allowsinstant on/off functionality and may allow platform 502 to streamcontent to media adaptors when the platform is turned “off.”

In one embodiment, storage 518 may comprise the Matrix Storagetechnology made by Intel® to increase the storage performance enhancedprotection for valuable digital media when multiple hard drives areincluded. In one embodiment, PVR logic 520 is used to enable thefunctionality of the invention as described herein. The embodiments,however, are not limited to the elements or in the context shown ordescribed in FIG. 5.

Platform 510 may establish one or more logical or physical channels tocommunicate information. The information may include media informationand control information. Media information may refer to any datarepresenting content meant for a user. Examples of content may include,for example, data from a voice conversation, videoconference, streamingvideo, electronic mail (“email”) message, voice mail message,alphanumeric symbols, graphics, image, video, text and so forth. Datafrom a voice conversation may be, for example, speech information,silence periods, background noise, comfort noise, tones and so forth.Control information may refer to any data representing commands,instructions or control words meant for an automated system. Forexample, control information may be used to route media informationthrough a system, or instruct a node to process the media information ina predetermined manner. The embodiments, however, are not limited to theelements or in the context shown or described in FIG. 5.

FIG. 6 illustrates one embodiment of a device 600 in which functionalityof the present invention as described herein may be implemented. In oneembodiment, for example, device 600 may comprise a communication system.In various embodiments, device 600 may comprise a processing system,computing system, mobile computing system, mobile computing device,mobile wireless device, computer, computer platform, computer system,computer sub-system, server, workstation, terminal, personal computer(PC), laptop computer, ultra-laptop computer, portable computer,handheld computer, personal digital assistant (PDA), cellular telephone,combination cellular telephone/PDA, smart phone, pager, one-way pager,two-way pager, messaging device, and so forth. The embodiments are notlimited in this context.

In one embodiment, device 600 may be implemented as part of a wiredcommunication system, a wireless communication system, or a combinationof both. In one embodiment, for example, device 600 may be implementedas a mobile computing device having wireless capabilities. A mobilecomputing device may refer to any device having a processing system anda mobile power source or supply, such as one or more batteries, forexample.

Examples of a mobile computing device may include a laptop computer,ultra-laptop computer, portable computer, handheld computer, palmtopcomputer, personal digital assistant (PDA), cellular telephone,combination cellular telephone/PDA, smart phone, pager, one-way pager,two-way pager, messaging device, data communication device, and soforth.

In one embodiment, for example, a mobile computing device may beimplemented as a smart phone capable of executing computer applications,as well as voice communications and/or data communications. Althoughsome embodiments may be described with a mobile computing deviceimplemented as a smart phone by way of example, it may be appreciatedthat other embodiments may be implemented using other wireless mobilecomputing devices as well. The embodiments are not limited in thiscontext.

As shown in FIG. 6, device 600 may comprise a housing 602, a display604, an input/output (I/O) device 606, and an antenna 608. Device 600also may comprise a five-way navigation button 612. I/O device 606 maycomprise a suitable keyboard, a microphone, and/or a speaker, forexample. Display 604 may comprise any suitable display unit fordisplaying information appropriate for a mobile computing device. I/Odevice 606 may comprise any suitable I/O device for entering informationinto a mobile computing device. Examples for I/O device 606 may includean alphanumeric keyboard, a numeric keypad, a touch pad, input keys,buttons, switches, rocker switches, voice recognition device andsoftware, and so forth. Information also may be entered into device 600by way of microphone. Such information may be digitized by a voicerecognition device. The embodiments are not limited in this context.

Various embodiments may be implemented using hardware elements, softwareelements, or a combination of both. Examples of hardware elements mayinclude processors, microprocessors, circuits, circuit elements (e.g.,transistors, resistors, capacitors, inductors, and so forth), integratedcircuits, application specific integrated circuits (ASIC), programmablelogic devices (PLD), digital signal processors (DSP), field programmablegate array (FPGA), logic gates, registers, semiconductor device, chips,microchips, chip sets, and so forth. Examples of software may includesoftware components, programs, applications, computer programs,application programs, system programs, machine programs, operatingsystem software, middleware, firmware, software modules, routines,subroutines, functions, methods, procedures, software interfaces,application program interfaces (API), instruction sets, computing code,computer code, code segments, computer code segments, words, values,symbols, or any combination thereof. Determining whether an embodimentis implemented using hardware elements and/or software elements may varyin accordance with any number of factors, such as desired computationalrate, power levels, heat tolerances, processing cycle budget, input datarates, output data rates, memory resources, data bus speeds and otherdesign or performance constraints.

Some embodiments may be described using the expression “coupled” and“connected” along with their derivatives. These terms are not intendedas synonyms for each other. For example, some embodiments may bedescribed using the terms “connected” and/or “coupled” to indicate thattwo or more elements are in direct physical or electrical contact witheach other. The term “coupled,” however, may also mean that two or moreelements are not in direct contact with each other, but yet stillco-operate or interact with each other.

Some embodiments may be implemented, for example, using a machine ortangible computer-readable medium or article which may store aninstruction or a set of instructions that, if executed by a machine, maycause the machine to perform a method and/or operations in accordancewith the embodiments. Such a machine may include, for example, anysuitable processing platform, computing platform, computing device,processing device, computing system, processing system, computer,processor, or the like, and may be implemented using any suitablecombination of hardware and/or software. The machine-readable medium orarticle may include, for example, any suitable type of memory unit,memory device, memory article, memory medium, storage device, storagearticle, storage medium and/or storage unit, for example, memory,removable or non-removable media, erasable or non-erasable media,writeable or rewriteable media, digital or analog media, hard disk,floppy disk, Compact Disk Read Only Memory (CD-ROM), Compact DiskRecordable (CD-R), Compact Disk Rewriteable (CD-RW), optical disk,magnetic media, magneto-optical media, removable memory cards or disks,various types of Digital Versatile Disk (DVD), a tape, a cassette, orthe like. The instructions may include any suitable type of code, suchas source code, compiled code, interpreted code, executable code, staticcode, dynamic code, encrypted code, and the like, implemented using anysuitable high-level, low-level, object-oriented, visual, compiled and/orinterpreted programming language.

Unless specifically stated otherwise, it may be appreciated that termssuch as “processing,” “computing,” “calculating,” “determining,” or thelike, refer to the action and/or processes of a computer or computingsystem, or similar electronic computing device, that manipulates and/ortransforms data represented as physical quantities (e.g., electronic)within the computing system's registers and/or memories into other datasimilarly represented as physical quantities within the computingsystem's memories, registers or other such information storage,transmission or display devices. The embodiments are not limited in thiscontext.

Numerous specific details have been set forth herein to provide athorough understanding of the embodiments. It will be understood bythose skilled in the art, however, that the embodiments may be practicedwithout these specific details. In other instances, well-knownoperations, components and circuits have not been described in detail soas not to obscure the embodiments. It can be appreciated that thespecific structural and functional details disclosed herein may berepresentative and do not necessarily limit the scope of theembodiments.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

The invention claimed is:
 1. A method, comprising: controllingdistribution of content to and amongst devices of multiple users,including, selectively authorizing users to access content based onrequests of the respective users, subscription-based access restrictionsassociated with the respective content, and subscription informationassociated with the respective users, and selectively authorizing usersto access content of devices of other users based on requests of therespective other users, subscription-based access restrictionsassociated with the respective content, and subscription informationassociated with the users to be authorized; identifying one or moresources of authorized content for which a user is authorized to accessfrom amongst devices of other users and one or more of a server and adistribution schedule of a content provider; and configuring a userinterface to permit the user to elect to receive the authorized contentfrom each identified source of the authorized content; wherein thecontent includes copies of content distributed by a content provider;wherein distribution of content from the server to the devices of theuser and distribution of content amongst the devices of the users ismanaged by a content redistribution service provider; wherein one ormore of the users has a subscription with the content provider; whereinone or more of the users has a subscription with the contentredistribution service provider; and wherein the controllingdistribution further includes authorizing the user to access content ifthe user has a subscription with at least one of the content providerand the content redistribution service provider and the content isincluded within the subscription.
 2. The method of claim 1, wherein: thecontent includes copies of content distributed by a first contentprovider and copies of content distributed by a second content provider;one or more of the users has a subscription with the first contentprovider; one or more of the users has a subscription with the secondcontent provider; and the controlling distribution further includesauthorizing the user to access content if the user has a subscriptionwith at least one of the first and second content providers and thecontent is included within the subscription.
 3. The method of claim 1,wherein: the selectively authorizing users to access content of devicesof other users includes receiving a request from a first user to shareselected content of a device of the first user with a second user andselectively authorizing the first user to access the selected contentbased on an access restriction associated with the selected content andsubscription information associated with the first user; and theidentifying includes identifying a source of the selected content inaddition to the device of the first user.
 4. The method of claim 1,wherein the configuring includes configuring the user interface topermit the user to elect to receive the authorized content at a deviceof the user concurrently from each of multiple sources, and wherein themethod further includes: terminating transfer of the authorized contentfrom a first user-elected source to the device of the user uponcompletion of transfer of the authorized content from a seconduser-elected source to the device of the user.
 5. The method of claim 1,wherein the configuring includes: configuring the user interface topermit the user to elect to elect to record the authorized content froma scheduled broadcast of a content provider and to elect to receive theauthorized content from one or more of the server over a packet-basednetwork and a device of one or more other users over a packet-basedpeer-to-peer network.
 6. The method of claim 1, wherein the configuringincludes: configuring the user interface to permit the user to elect topay to access content if the user is not authorized to access thecontent and the content complies with a user-configurable subject matterrestriction associated with the user.
 7. A non-transitory computerreadable medium encoded with a computer program, including instructionsto cause a processor to: control distribution of content to and amongstdevices of multiple users, including to, selectively authorize users toaccess content based on requests of the respective users,subscription-based access restrictions associated with the respectivecontent, and subscription information associated with the respectiveusers, and selectively authorize users to access content of devices ofother users based on requests of the respective other users,subscription-based access restrictions associated with the respectivecontent, and subscription information associated with the users to beauthorized; identify one or more sources of authorized content for whicha user is authorized to access from amongst devices of other users andone or more of a server and a distribution schedule of a contentprovider; and configure a user interface to permit the user to elect toreceive the authorized content from each identified source of theauthorized content: wherein the content includes copies of contentdistributed by a content provider; wherein distribution of content fromthe server to the devices of the user and distribution of contentamongst the devices of the users is controlled by a contentredistribution service provider; wherein one or more of the users has asubscription with the content provider; wherein one or more of the usershas a subscription with the content redistribution service provider; andwherein the instructions include instructions to cause the processor toauthorize the user to access content if the user has a subscription withat least one of the content provider and the content redistributionservice provider and the content is included within the subscription. 8.The non-transitory computer readable medium of claim 7, wherein: thecontent includes copies of content distributed by a first contentprovider and copies of content distributed by a second content provider;one or more of the users has a subscription with the first contentprovider; one or more of the users has a subscription with the secondcontent provider; and the instructions include instructions to cause theprocessor to authorize the user to access content if the user has asubscription with at least one of the first and second content providersand the content is included within the subscription.
 9. Thenon-transitory computer readable medium of claim 7, further includinginstructions to cause the processor to: receive a request from a firstuser to share selected content of a device of the first user with asecond user; selectively authorize the first user to access the selectedcontent based on an access restriction associated with the selectedcontent and subscription information associated with the first user; andidentify a source of the selected content in addition to the device ofthe first user.
 10. The non-transitory computer readable medium of claim7, further including instructions to cause the processor to: configurethe user interface to permit the user to elect to receive the authorizedcontent at a device of the user concurrently from each of multiplesources; and terminate transfer of the authorized content from a firstuser-elected source to the device of the user upon completion oftransfer of the authorized content from a second user-elected source tothe device of the user.
 11. The non-transitory computer readable mediumof claim 7, further including instructions to cause the processor to:configure the user interface to permit the user to elect to record theauthorized content from a scheduled broadcast of a content provider andto elect to receive the authorized content from one or more of theserver over a packet-based network and a device of one or more otherusers over a packet-based peer-to-peer network.
 12. The non-transitorycomputer readable medium of claim 7, further including instructions tocause the processor to: configure the user interface to permit the userto elect to pay to access content if the user is not authorized toaccess the content and the content complies with a user-configurablesubject matter restriction associated with the user.
 13. An apparatus,comprising a processor and memory configured to: control distribution ofcontent to and amongst devices of multiple users, including to,selectively authorize users to access content based on requests of therespective users, subscription-based access restrictions associated withthe respective content, and subscription information associated with therespective users, and selectively authorize users to access content ofdevices of other users based on requests of the respective other users,subscription-based access restrictions associated with the respectivecontent, and subscription information associated with the users to beauthorized; identify one or more sources of authorized content for whicha user is authorized to access from amongst devices of other users andone or more of a server and a distribution schedule of a contentprovider; and configure a user interface to permit the user to elect toreceive the authorized content from each identified source of theauthorized content: wherein the content includes copies of contentdistributed by a content provider; wherein distribution of content fromthe server to the devices of the user and distribution of contentamongst the devices of the users is controlled by a contentredistribution service provider; wherein one or more of the users has asubscription with the content provider; wherein One or more of the usershas a subscription with the content redistribution service provider; andwherein the processor and memory are further configured to authorize theuser to access content if the user has a subscription with at least oneof the content provider and the content redistribution service providerand the content is included within the subscription.
 14. The apparatusof claim 13, wherein: the content includes copies of content distributedby a first content provider and copies of content distributed by asecond content provider; one or more of the users has a subscriptionwith the first content provider; one or more of the users has asubscription with the second content provider; and the processor andmemory are further configured to authorize the user to access content ifthe user has a subscription with at least one of the first and secondcontent providers and the content is included within the subscription.15. The apparatus of claim 13, wherein the processor and memory arefurther configured to: receive a request from a first user to shareselected content of a device of the first user with a second user;selectively authorize the first user to access the selected contentbased on an access restriction associated with the selected content andsubscription information associated with the first user; and identify asource of the selected content in addition to the device of the firstuser.
 16. The apparatus of claim 13, wherein the processor and memoryare further configured to: configure the user interface to permit theuser to elect to receive the authorized content at a device of the userconcurrently from each of multiple sources; and terminate transfer ofthe authorized content from a first user-elected source to the device ofthe user upon completion of transfer of the authorized content from asecond user-elected source to the device of the user.
 17. The apparatusof claim 13, wherein the processor and memory are further configured to:configure the user interface to permit the user to elect to record theauthorized content from a scheduled broadcast of a content provider andto elect to receive the authorized content from one or more of theserver over a packet-based network and a device of one or more otherusers over a packet-based peer-to-peer network.